package com.wfg.nettydemo.io.nio.channel;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

/**
 * @author wufagang
 * @description
 * 使用前面学习后的 ByteBuffer（缓冲）和 FileChannel（通道），
 * 将 file01.txt 中的数据读入到程序，并显示在控制台屏幕
 * 假定文件已经存在
 * @date 2022年05月28日 14:06
 */
public class NIOFileChannel02 {

    public static void main(String[] args) throws IOException {
        File file = new File("1.txt");
        FileInputStream in = new FileInputStream(file);
        FileChannel channel = in.getChannel();

        ByteBuffer  byteBuffer = ByteBuffer.allocate((int) file.length());

        channel.read(byteBuffer);

        byteBuffer.flip();

        System.out.println(new String(byteBuffer.array()));
        in.close();
    }
}
